Python中的嵌套与可变循环 您所在的位置:网站首页 python 循环嵌套 Python中的嵌套与可变循环

Python中的嵌套与可变循环

2024-01-23 16:54| 来源: 网络整理| 查看: 265

文章目录 一、嵌套循环二、可变循环三、可变嵌套循环四、更多可变嵌套循环五、小练习——秒表

一、嵌套循环

前边学过的循环是这样的:

multiplier = 5 for i in range(1,11): print i, "*", multiplier, "=" ,i * multiplier

在这里插入图片描述 什么是嵌套循环呢?简单地说就是一个循环出现在另一个循环中。对于外循环的每次迭代,内循环都要完成它的所有迭代。利用嵌套便可以一次打印3个乘法表:

for multiplier in range(5,8): for i in range(1,11): print i, "*", multiplier, "=" ,i * multiplier print

在这里插入图片描述 像这种嵌套结构,一定要非常注意缩进问题

二、可变循环

循环次数由用户决定,或者有程序的另一部决定,我们首先需要定义一个变量:

numStars = int(raw_input("How many stars do you want?")) for i in range(numStars) : print '* ',

在这里插入图片描述 这里想要所有的 “ * ” 在同一行,在print后边加逗号 “ , ” 即可。

三、可变嵌套循环

现在我们来尝试一下可变嵌套循环。其实也是嵌套循环,不过其中一个或多个循环在range( )函数中使用了变量。

numLines = int(raw_input("How many lines of stars do you want?")) numStars = int(raw_input("How mang stars per line?")) for i in range(numLines): for j in range(numStars): print '* ', print

在这里插入图片描述 第一个print使所有的星号打印在同一行上;第二个print开始新的一行星号。

再试试双重嵌套结构:

numBlocks = int(raw_input("How mang blocks do you want?")) numLines = int(raw_input("How many lines of stars do you want?")) numStars = int(raw_input("How mang stars per line?")) for k in range(numBlocks): for i in range(numLines): for j in range(numStars): print '* ', print print

在这里插入图片描述 前两个print用法与上相同,第三个print在每个循环之间加一行空格。

四、更多可变嵌套循环 numBlocks = int(raw_input("How many blocks do you want?")) for block in range(numBlocks): for line in range(block * 2): for star in range((block+line)*3): print '*', print print

在这里插入图片描述 这样上例可能会更清楚一些了:

numBlocks = int(raw_input("How many blocks do you want?")) for block in range(numBlocks): print "block=",block for line in range(block * 2): for star in range((block+line)*3): print "*", print "line=",line ,"star=",star print

在这里插入图片描述 由于所有的range( )函数都直接使用变量,即range(x)。故所有的计数都是从0开始。这个需要习惯,以后经常会用到的是从0开始而不是1。

五、小练习——秒表 import time start = int(raw_input("What time do you want?",)) for i in range(start,0,-1): print i time.sleep(1) print "Game Over!"

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有